package com.ruoyi.jzzgl.service;

import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.jzzgl.domain.entity.JzzglSkjl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.jzzgl.domain.bo.JzzglSkjlBo;
import com.ruoyi.jzzgl.domain.vo.JzzglSkjlVo;
import com.ruoyi.jzzgl.domain.vo.StatisticsVo;

import java.util.Date;
import java.util.List;

/**
* @author xq
* @description 针对表【jzzgl_skjl】的数据库操作Service
* @createDate 2025-01-06 02:01:54
*/
public interface JzzglSkjlService extends IService<JzzglSkjl> {

    TableDataInfo<JzzglSkjlVo> queryPageList(JzzglSkjlBo bo, PageQuery pageQuery);

    void batchInsert(List<JzzglSkjlBo> boList);

    JzzglSkjlVo queryById(Long id);

    Integer getTodayRecords(Integer stationId);
    Integer getTodayElderlyRecords(Integer stationId);
    Double getElderlyRatio(Integer stationId);
    StatisticsVo.TrendData getTrendData(Integer stationId, Date startTime, Date endTime);
    List<StatisticsVo.RankData> getRankData(Integer stationId);
    List<StatisticsVo.DistributionData> getAgeDistribution(Integer stationId);
    List<StatisticsVo.DistributionData> getGenderRatio(Integer stationId);
    Integer getTotalElderlyRecords(Integer stationId);
}
